package com.yanyuhao.controller;

import com.yanyuhao.common.Result;
import com.yanyuhao.service.AdminService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

//相当于同时使用了 @Controller 和 @ResponseBody
//它表示这个类是一个 控制器（Controller），并且它里面所有方法的返回值都会直接作为 HTTP 响应体（response body）返回给客户端，通常用于构建 RESTful API
//当你的 Spring Boot 项目里使用了 @RestController（或者方法上有 @ResponseBody），并且你方法的返回值是一个对象（比如一个自定义的类、Map、List 等）
// Spring 会自动把这个 Java 对象转换成 JSON 格式，然后作为 HTTP 响应体（response body）返回给客户端。
@RestController
public class WebController {

    //@Resource：这是一个 依赖注入（Dependency Injection） 的注解，功能类似于 Spring 的 @Autowired。
    //它的作用是将 Spring 容器中名为 adminService 的 Bean 自动注入
    //本质上就是省略了手动写 new 关键字去创建对象的过程，而是由 Spring 容器帮你自动创建并注入这个对象
    @Resource
    AdminService adminService;


    //get请求的接口
    @GetMapping("/hello")//接口路径，全局唯一
    public Result hello() {

        return Result.success("你好");//接口的返回值
    }

    @GetMapping("/admin")
    public Result admin(String name) {
        String admin = adminService.admin(name);
        return Result.success("admin");
    }

}
